#!/bin/bash

# 让子脚本可执行
# chmod 555 ./*

# 变量声明
. ./func/const.sh
. ./func/file.sh
. ./func/proc.sh

## 使脚本在自己所在目录运行
exUri="${shDir}"

# 主菜单
menuList=(
	"0.打印菜单"
	"1.用户名设置"
	"2.初始化目录"
	"3.包管理"
	"4.应用程序配置"
	"5.系统配置"
	"6.用户环境配置"
	"7.清理oldfile"
	"9.退出"
)

## 菜单级别
menuLev=0

# 运行脚本
while :; do
	# 调试输出
    # echo "DEBUG: menuLev = [${menuLev}]" >&2
	if [[ "${menuLev}" == "0" ]]; then
		# 打印菜单
		echo "${menuList[@]}"
		read -p "${uzerName}，您现在想要做什么：" menuLev
		continue
	# 如果输入9或其他关键词，则退出脚本
	elif [[ "${menuLev}" =~ ^(9|exit|quit|Exit|EXIT|Quit)$ ]]; then
		echo -e "\n退出脚本\n"
		break
	# 如果输入1，设置用户名
	elif [[ "${menuLev}" -eq 1 ]]; then
		read -p "当前用户名：${uzerName}，请设置新用户名：" uzerName
		menuLev=0
		continue
	# 如果输入3，进行包管理配置
	elif [[ "${menuLev}" -eq 3 ]]; then
		${shDir}/pack/base.sh
		menuLev=0
		continue
	# 如果输入4，进行应用程序配置
	elif [[ "${menuLev}" -eq 4 ]]; then
		${shDir}/application/app.sh
		menuLev=0
		continue
	# 如果输入2，进行目录初始化
	elif [[ "${menuLev}" -eq 2 ]]; then
		${shDir}/dir_init.sh
		menuLev=0
		continue
	# 如果输入6，进行用户环境配置
	elif [[ "${menuLev}" -eq 6 ]]; then
		${shDir}/users/ssh.sh
		${shDir}/users/dewm.sh
		${shDir}/users/autostart.sh
		# ${shDir}/users/zsh.sh
		${shDir}/users/bash.sh
		menuLev=0
		continue
	# 如果输入7，清理oldfile
	elif [[ "${menuLev}" -eq 7 ]]; then
		rm -rf "${uzerConf}/oldfile"
		rm -rf "${appLauncher}/oldfile"
		rm -rf "${uzerBin}/oldfile"
		rm -rf "${homeDir}/oldfile"
		menuLev=0
		continue
	else
		# 输入非法指令则报错并回到主菜单
		echo -e "\n错误指令\n"
		menuLev=0
		continue
	fi

# 初始化目录
# 包管理
# 应用程序配置
# 系统配置
# 用户配置
# cd /
# ${shDir}/home.sh
# cd "${exUri}"

done

# 禁止执行子脚本
# chmod -rx ./*
